package org.springframework.howelly.validators;

import org.springframework.binding.message.MessageBuilder;
import org.springframework.binding.message.MessageContext;
import org.springframework.howelly.model.Gasto;

public class GastoValidator {

    public static void validateGastoObra(MessageContext context, Gasto gasto) {
	if (gasto.getName() == "") {
	    context.addMessage(new MessageBuilder().error().source("gastoObraForm:name").defaultText(
		    "El campo Razon social no puede ser vacio").build());
	}
	if (gasto.getDiaEfectuadoString() == "") {
	    context.addMessage(new MessageBuilder().error().source("fechaVacia").defaultText(
		    "Seleccione el dia en el que efectuo el gasto").build());
	}
	if (gasto.getDiaEfectuadoString().length() < 9) {
	    context.addMessage(new MessageBuilder().error().source("fechaVacia").defaultText(
		    "La Fecha debe ser escrita en el formato dd/mm/yyyy").build());
	}
	if (gasto.getPrice().doubleValue() == 0) {
	    context.addMessage(new MessageBuilder().error().source("price").defaultText(
		    "Ingrese un precio para su gasto").build());
	}
	if (gasto.getCategoriaName() == "") {
	    context.addMessage(new MessageBuilder().error().source("categoriaName").defaultText(
		    "Seleccione una categoria para el gasto").build());
	}

	if (gasto.getFactura() == "") {
	    context.addMessage(new MessageBuilder().error().source("factura").defaultText("Seleccione una factura")
		    .build());
	}
	if (gasto.getNumeroDeFactura() == "") {
	    context.addMessage(new MessageBuilder().error().source("numeroDeFactura").defaultText(
		    "Ingrese un numero de Factura").build());
	}
	if (gasto.getCuit() == "") {
	    context.addMessage(new MessageBuilder().error().source("cuit").defaultText("Ingrese un cuit").build());
	}

    }

    public static void validateIngresoObra(MessageContext context, Gasto gasto) {
	if (gasto.getName() == "") {
	    context.addMessage(new MessageBuilder().error().source("name").defaultText(
		    "El nombre del Ingreso no puede ser vacio").build());
	}
	if (gasto.getDiaEfectuadoString() == "") {
	    context.addMessage(new MessageBuilder().error().source("fechaVacia").defaultText(
		    "Seleccione el dia en el que se efectuo el ingreso").build());
	}
	if (gasto.getPrice().doubleValue() == 0) {
	    context.addMessage(new MessageBuilder().error().source("price").defaultText("Ingrese el monto del ingreso")
		    .build());
	}
	if (gasto.getCategoriaName() == "") {
	    context.addMessage(new MessageBuilder().error().source("categoriaName").defaultText(
		    "Seleccione una categoria para el Ingreso").build());
	}
    }

}
